import pygame.font

class Button():
    def __init__(self,ai_settings,screen,msg):
        """
        初始化按钮的属性
        :param ai_settings:Settings类
        :param screen:以设定类创建的屏幕对象
        :param msg:标签为Play
        """
        self.screen = screen
        self.screen_rect = screen.get_rect()

        # 设置按钮的尺寸和其他的属性
        self.width,self.hight=200,50 # 设置按钮的高宽
        self.button_color = (0,255,0) # 设置按钮的颜色
        self.text_color=(255,225,255) # 设置文字的颜色

        # 创建按钮的rect 对象，并使其居中
        # 在Pygame中以游戏主窗口的左上角为坐标原点。
        self.rect=pygame.Rect(0,0,self.width,self.height) # 创建一个矩形窗口

        self.rect.center=self.screen_rect.center # 将screen的位置设置为主窗口的正中心

        # 设置按钮标签
        self.prep_msg(msg)

    def prep_msg(self,msg):
        # 渲染msg为图像，并使其在按钮上居中
        self.msg_image = self.font.render(msg, True, self.text_color,
                                          self.button_color)
        self.msg_image_rect = self.msg_image.get_rect()
        self.msg_image_rect.center = self.rect.center
    def draw_buuton(self):
        # 绘制一个用颜色填充的按钮，再绘制文本
        self.screen.fill(self.button_color,self.rect)  #在rect矩形中创建以某颜色为底色的按钮
        self.screen.blit(self.msg_image,self.msg_image_rect)